﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Abreu.Profile.ObjectClasses;
using System.Windows.Input;
using CorpAbreu.Common.BaseClasses;

namespace CorpAbreu.Common.Models
{
    public class Menu : ViewModelBase
    {
        private List<Menu> _children = new List<Menu>();
        private List<ApplicationPropertyInfo> _applicationProperty = new List<ApplicationPropertyInfo>();
        private List<MenuPropertyInfo> _menuProperty = new List<MenuPropertyInfo>();
        private String _name;
        private int _id;
        private int _appid;

        public List<Menu> Children
        {
            get { return _children; }
            set { _children = value; }
        }

        public List<ApplicationPropertyInfo> ApplicationProperty
        {
            get { return _applicationProperty; }
            set { _applicationProperty = value; }
        }

        public List<MenuPropertyInfo> MenuProperty
        {
            get { return _menuProperty; }
            set { _menuProperty = value; }
        }

        public String Name
        {
            get { return _name; }
            set { _name = value; }
        }

        public int ID
        {
            get { return _id; }
            set { _id = value; }
        }

        public int AppID
        {
            get { return _appid; }
            set { _appid = value; }
        }

        private ICommand _Command;
        public ICommand Command
        {
            get { return _Command; }
            set
            {
                if (value != _Command)
                {
                    _Command = value;
                    OnPropertyChanged("Command");
                }
            }
        }
    }
}
